package br.com.requisicao.compra.canonico;

import java.io.Serializable;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Table;

@Entity
@Table(name = "permissao_usuario")
public class TipoUsuario implements Serializable {

	/**
	 * serialVersionUID
	 */
	private static final long serialVersionUID = -5743094394705447388L;

	@Id
	@GeneratedValue
	@Column(name = "codigo")
	private Long codigo;

	@Column(name = "nome_usuario", unique = true)
	private String nomeUsuario;

	@Column(name = "permissao_usuario")
	private String permissaoUsuario;

	@OneToOne(mappedBy = "tipoUsuario", cascade = CascadeType.ALL)
	private Usuario usuario;

	/**
	 * @return the codigo
	 */
	public Long getCodigo() {
		return codigo;
	}

	/**
	 * @param codigo
	 *            the codigo to set
	 */
	public void setCodigo(Long codigo) {
		this.codigo = codigo;
	}

	/**
	 * @return the nomeUsuario
	 */
	public String getNomeUsuario() {
		return nomeUsuario;
	}

	/**
	 * @param nomeUsuario
	 *            the nomeUsuario to set
	 */
	public void setNomeUsuario(String nomeUsuario) {
		this.nomeUsuario = nomeUsuario;
	}

	/**
	 * @return the permissaoUsuario
	 */
	public String getPermissaoUsuario() {
		return permissaoUsuario;
	}

	/**
	 * @param permissaoUsuario
	 *            the permissaoUsuario to set
	 */
	public void setPermissaoUsuario(String permissaoUsuario) {
		this.permissaoUsuario = permissaoUsuario;
	}

	/**
	 * @return the usuario
	 */
	public Usuario getUsuario() {
		return usuario;
	}

	/**
	 * @param usuario
	 *            the usuario to set
	 */
	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

}
